//state.h

#pragma once
#ifndef STATE_H
#define STATE_H

#include <vector>
#include <stack>
#include "Task.h"

class State {
private:
	std::vector<Task> _currState;
	std::stack<std::vector<Task>> _prevStates;
	std::stack<std::vector<Task>> _nextStates;

public:
	State();

	void saveState(std::vector<Task>);
	void clearRedo();

	//Returns success of undo operation
	bool State::undo(std::vector<Task> &taskList);
	//Returns success of redo operation
	bool State::redo(std::vector<Task> &taskList);
};

#endif
